package reflect;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class ReflectDemo6 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {
        Class cls=Class.forName("reflect.Person");//获取类的对象
        Method method=cls.getMethod("say",String.class,int.class);//获取方法对象

        String name=method.getName();//获取方法名
        System.out.println("方法名:"+name);
        Class returnType=method.getReturnType();
        System.out.println("方法的返回值类型:"+returnType);
        int count=method.getParameterCount();
        System.out.println("方法参数个数:"+count);

        Class[]types=method.getParameterTypes();
        for (Class type:types){
            System.out.println(type);
        }

        int modifiers=method.getModifiers();
        switch(modifiers){
            case Modifier.PUBLIC:
                System.out.println("是一个公开方法");
                break;
            case Modifier.PRIVATE:
                System.out.println("是一个私有方法");
                break;
            case Modifier.PROTECTED:
                System.out.println("是一个受保护的方法");
                break;
        }
    }
}




























